package com.heima.wemedia.controller.v1;

import com.heima.common.constant.WemediaConstants;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.common.enums.AppHttpCodeEnum;
import com.heima.model.wemedia.dtos.WmMaterialDto;
import com.heima.model.wemedia.pojos.WmMaterial;
import com.heima.wemedia.service.WmMaterialService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

@RestController
@RequestMapping("/api/v1/material")
public class WmMaterialController {


    @Autowired
    private WmMaterialService wmMaterialService;

    @PostMapping("/upload_picture")
    public ResponseResult uploadPicture(MultipartFile multipartFile){
        return wmMaterialService.uploadPicture(multipartFile);
    }

    @PostMapping("/list")
    public ResponseResult list(@RequestBody WmMaterialDto wmMaterialDto){

        return wmMaterialService.listPicture(wmMaterialDto);

    }

    @GetMapping("/collect/{id}")
    public ResponseResult collect(@PathVariable Integer id){
        WmMaterial wmMaterial = wmMaterialService.getById(id);
        wmMaterial.setIsCollection(WemediaConstants.COLLECT_MATERIAL);
        wmMaterialService.updateById(wmMaterial);
        return ResponseResult.okResult(wmMaterial);
    }

    @GetMapping("/del_picture/{id}")
    public ResponseResult delPicture(@PathVariable Integer id){
        return wmMaterialService.deletePicture(id);
    }


}